package com.dmz.wxcp.utils;


import com.alibaba.fastjson.JSONObject;
import com.dmz.wxcp.vo.resp.PageRespVO;

import java.util.List;

public class PageUtil {
    private PageUtil(){}
//    public static <T> PageRespVO getPageVo(IPage<T> list){
//        PageRespVO<T> pageVO=new PageRespVO<>();
//
//            pageVO.setTotalRows(list.getTotal());
//            pageVO.setList(list.getRecords());
//            pageVO.setTotalPages(list.getPages());
//            pageVO.setPageNum(list.getCurrent());
//            pageVO.setPageSize(list.getSize());
//        return pageVO;
//    }



    public static <T> PageRespVO<T> getPageVo(List<Object> list, Boolean isFirst){
        PageRespVO<T> pageVO=new PageRespVO<>();
        List<T> data=(List<T>)list.get(0);
        Long total = ((List<Long>)list.get(1)).get(0);
        Long size = ((List<Long>)list.get(2)).get(0);
        Long pagescount = ((List<Long>)list.get(3)).get(0);
        pageVO.setTotal(total);
        pageVO.setRecords(data);
        pageVO.setPagescount(pagescount);
        pageVO.setSize(size);
        return pageVO;
    }

    public static com.dmz.wxcp.vo.resp.PageRespVO<Object> getPageVo(List<Object> list){

        PageRespVO<Object> pageVO=new PageRespVO<>();
        List<Object> data=PageUtil.getResult(list.get(0),Object.class);
        Long total =new Long(PageUtil.getResult(list.get(1),Object.class).get(0).toString());
        Long size =new Long(PageUtil.getResult(list.get(2),Object.class).get(0).toString());
        Long pagescount = new Long(PageUtil.getResult(list.get(3),Object.class).get(0).toString());
        pageVO.setTotal(total);
        pageVO.setRecords(data);
        pageVO.setPagescount(pagescount);
        pageVO.setSize(size);
        return pageVO;
    }

    private static <T> List<T> getResult(Object object,Class<T> clazz){
        List<T> r=JSONObject.parseArray(object.toString(),clazz);
        return r;
    }


}
